[INFO] fetching crate cesu8str 0.2.4...
[INFO] checking cesu8str-0.2.4 against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] extracting crate cesu8str 0.2.4 into /workspace/builds/worker-0-tc1/source
[INFO] validating manifest of crates.io crate cesu8str 0.2.4 on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate cesu8str 0.2.4
[INFO] finished tweaking crates.io crate cesu8str 0.2.4
[INFO] tweaked toml for crates.io crate cesu8str 0.2.4 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] crate crates.io crate cesu8str 0.2.4 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rusty-fork v0.3.0
[INFO] [stderr]   Downloaded paste v1.0.11
[INFO] [stderr]   Downloaded cc v1.0.78
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 800fcd4fd19992f6c2cb180dbbe8f372fed45c00ad9c065f59496e1fc853d22a
[INFO] running `Command { std: "docker" "start" "-a" "800fcd4fd19992f6c2cb180dbbe8f372fed45c00ad9c065f59496e1fc853d22a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "800fcd4fd19992f6c2cb180dbbe8f372fed45c00ad9c065f59496e1fc853d22a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "800fcd4fd19992f6c2cb180dbbe8f372fed45c00ad9c065f59496e1fc853d22a", kill_on_drop: false }`
[INFO] [stdout] 800fcd4fd19992f6c2cb180dbbe8f372fed45c00ad9c065f59496e1fc853d22a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ea762d80140b1f2f7efa1f9fe732ccbe27d88219aa274e7cf94a9adf5582f67b
[INFO] running `Command { std: "docker" "start" "-a" "ea762d80140b1f2f7efa1f9fe732ccbe27d88219aa274e7cf94a9adf5582f67b", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.139
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]    Compiling paste v1.0.11
[INFO] [stderr]     Checking fastrand v1.8.0
[INFO] [stderr]     Checking remove_dir_all v0.5.3
[INFO] [stderr]     Checking fnv v1.0.7
[INFO] [stderr]     Checking quick-error v1.2.3
[INFO] [stderr]     Checking cesu8str v0.2.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `BufReader`, `BufWriter`
[INFO] [stdout]  --> src/ngstr/stream.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::io::{self, BufReader, BufWriter};
[INFO] [stdout]   |                     ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `const_ptr_read` has been stable since 1.71.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(const_ptr_read)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0635]: unknown feature `const_deref`
[INFO] [stdout]  --> src/lib.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | #![feature(const_deref)]
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `simd_eq` found for struct `std::simd::Simd` in the current scope
[INFO] [stdout]    --> src/ngstr/prims.rs:156:37
[INFO] [stdout]     |
[INFO] [stdout] 156 |     let utf8_4byte = (chunk & mask).simd_eq(val).any();
[INFO] [stdout]     |                                     ^^^^^^^ method not found in `Simd<u8, LANES>`
[INFO] [stdout]    --> /rustc/158f00a1c5175648af6f6099b075f78d1d014a28/library/core/src/../../portable-simd/crates/core_simd/src/simd/cmp/eq.rs:14:8
[INFO] [stdout]     |
[INFO] [stdout]     = note: the method is available for `std::simd::Simd<u8, LANES>` here
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]     |
[INFO] [stdout] 3   + use std::simd::cmp::SimdPartialEq;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `simd_eq` found for struct `std::simd::Simd` in the current scope
[INFO] [stdout]    --> src/ngstr/prims.rs:157:40
[INFO] [stdout]     |
[INFO] [stdout] 157 |     let utf8_nul = ENCODE_NUL && chunk.simd_eq(zero).any();
[INFO] [stdout]     |                                        ^^^^^^^ method not found in `Simd<u8, LANES>`
[INFO] [stdout]    --> /rustc/158f00a1c5175648af6f6099b075f78d1d014a28/library/core/src/../../portable-simd/crates/core_simd/src/simd/cmp/eq.rs:14:8
[INFO] [stdout]     |
[INFO] [stdout]     = note: the method is available for `std::simd::Simd<u8, LANES>` here
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]     |
[INFO] [stdout] 3   + use std::simd::cmp::SimdPartialEq;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/ngstr/stream.rs:118:9
[INFO] [stdout]     |
[INFO] [stdout] 116 |         todo!("figure out how to subtract characters (not code points) from the end of a string");
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------- any code following this expression is unreachable
[INFO] [stdout] 117 |
[INFO] [stdout] 118 |         Ok(safe_len)
[INFO] [stdout]     |         ^^^^^^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot perform deref coercion on `ManuallyDrop<cesu8string::Cesu8String>` in constant functions
[INFO] [stdout]   --> src/ngstr/cesu8string.rs:33:34
[INFO] [stdout]    |
[INFO] [stdout] 33 |         unsafe { std::ptr::read(&this.inner) }
[INFO] [stdout]    |                                  ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: attempting to deref into `cesu8string::Cesu8String`
[INFO] [stdout] note: impl defined here, but it is not `const`
[INFO] [stdout]   --> /rustc/158f00a1c5175648af6f6099b075f78d1d014a28/library/core/src/mem/manually_drop.rs:149:1
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot perform deref coercion on `ManuallyDrop<mutf8string::Mutf8String>` in constant functions
[INFO] [stdout]   --> src/ngstr/mutf8string.rs:34:34
[INFO] [stdout]    |
[INFO] [stdout] 34 |         unsafe { std::ptr::read(&this.inner) }
[INFO] [stdout]    |                                  ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: attempting to deref into `mutf8string::Mutf8String`
[INFO] [stdout] note: impl defined here, but it is not `const`
[INFO] [stdout]   --> /rustc/158f00a1c5175648af6f6099b075f78d1d014a28/library/core/src/mem/manually_drop.rs:149:1
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot perform deref coercion on `ManuallyDrop<mutf8cstring::Mutf8CString>` in constant functions
[INFO] [stdout]   --> src/ngstr/mutf8cstring.rs:60:34
[INFO] [stdout]    |
[INFO] [stdout] 60 |         unsafe { std::ptr::read(&this.inner) }
[INFO] [stdout]    |                                  ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: attempting to deref into `mutf8cstring::Mutf8CString`
[INFO] [stdout] note: impl defined here, but it is not `const`
[INFO] [stdout]   --> /rustc/158f00a1c5175648af6f6099b075f78d1d014a28/library/core/src/mem/manually_drop.rs:149:1
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `unused_utf8_chars`
[INFO] [stdout]    --> src/ngstr/stream.rs:115:13
[INFO] [stdout]     |
[INFO] [stdout] 115 |         let unused_utf8_chars = utf8[safe_len..].chars().count();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_unused_utf8_chars`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors; 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0015, E0599, E0635.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0015`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `cesu8str` (lib) due to 7 previous errors; 4 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "ea762d80140b1f2f7efa1f9fe732ccbe27d88219aa274e7cf94a9adf5582f67b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ea762d80140b1f2f7efa1f9fe732ccbe27d88219aa274e7cf94a9adf5582f67b", kill_on_drop: false }`
[INFO] [stdout] ea762d80140b1f2f7efa1f9fe732ccbe27d88219aa274e7cf94a9adf5582f67b
[INFO] checking cesu8str-0.2.4 against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] extracting crate cesu8str 0.2.4 into /workspace/builds/worker-0-tc2/source
[INFO] validating manifest of crates.io crate cesu8str 0.2.4 on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate cesu8str 0.2.4
[INFO] finished tweaking crates.io crate cesu8str 0.2.4
[INFO] tweaked toml for crates.io crate cesu8str 0.2.4 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] crate crates.io crate cesu8str 0.2.4 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] bd50c4dc65cd1e7d076430f5138e65c715fe3398d6d42d130f85156cf7f0f20b
[INFO] running `Command { std: "docker" "start" "-a" "bd50c4dc65cd1e7d076430f5138e65c715fe3398d6d42d130f85156cf7f0f20b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bd50c4dc65cd1e7d076430f5138e65c715fe3398d6d42d130f85156cf7f0f20b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bd50c4dc65cd1e7d076430f5138e65c715fe3398d6d42d130f85156cf7f0f20b", kill_on_drop: false }`
[INFO] [stdout] bd50c4dc65cd1e7d076430f5138e65c715fe3398d6d42d130f85156cf7f0f20b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8f48ce8cdcdaea0544fac8e605aa3df6303dff827fa0d43876c37fc99414024d
[INFO] running `Command { std: "docker" "start" "-a" "8f48ce8cdcdaea0544fac8e605aa3df6303dff827fa0d43876c37fc99414024d", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.139
[INFO] [stderr]    Compiling paste v1.0.11
[INFO] [stderr]     Checking fastrand v1.8.0
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]     Checking remove_dir_all v0.5.3
[INFO] [stderr]     Checking quick-error v1.2.3
[INFO] [stderr]     Checking fnv v1.0.7
[INFO] [stderr]     Checking cesu8str v0.2.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/decoding.rs:194:42
[INFO] [stdout]     |
[INFO] [stdout] 194 |         match std::str::from_utf8(&bytes[i..]) {
[INFO] [stdout]     |                                          ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/decoding.rs:207:71
[INFO] [stdout]     |
[INFO] [stdout] 207 |                 dest += unsafe { std::str::from_utf8_unchecked(&bytes[i..i + valid_up_to]) };
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/decoding.rs:214:35
[INFO] [stdout]     |
[INFO] [stdout] 214 |                 let rest = &bytes[i..];
[INFO] [stdout]     |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/decoding.rs:279:51
[INFO] [stdout]     |
[INFO] [stdout] 279 |         let try_utf8 = std::str::from_utf8(&bytes[i..]).map_err(|uerr| utf8err_inc(&uerr, i));
[INFO] [stdout]     |                                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/decoding.rs:290:54
[INFO] [stdout]     |
[INFO] [stdout] 290 |                 std::str::from_utf8_unchecked(&bytes[i..uerr.valid_up_to()])
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/decoding.rs:402:56
[INFO] [stdout]     |
[INFO] [stdout] 402 | ...                   std::str::from_utf8(&bytes[i..]).is_err(),
[INFO] [stdout]     |                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/encoding.rs:121:41
[INFO] [stdout]     |
[INFO] [stdout] 121 |                     write_cesu8!(&bytes[i..i + utf8_seg], utf8_seg);
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |                 push_utf8!(Some(Some(1))); // injected 0xC0,0x80 will be invalid UTF-8
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `push_utf8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/encoding.rs:121:41
[INFO] [stdout]     |
[INFO] [stdout] 121 |                     write_cesu8!(&bytes[i..i + utf8_seg], utf8_seg);
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |                         push_utf8!(Some(Some(1)));
[INFO] [stdout]     |                         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `push_utf8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/encoding.rs:152:79
[INFO] [stdout]     |
[INFO] [stdout] 152 |                         let s = unsafe { std::str::from_utf8_unchecked(&bytes[i..i + 4]) };
[INFO] [stdout]     |                                                                               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/encoding.rs:121:41
[INFO] [stdout]     |
[INFO] [stdout] 121 |                     write_cesu8!(&bytes[i..i + utf8_seg], utf8_seg);
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |         push_utf8!(None);
[INFO] [stdout]     |         ---------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `push_utf8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/string.rs:184:51
[INFO] [stdout]     |
[INFO] [stdout] 184 |             let res = Cesu8Str::from_cesu8(&bytes[i..], variant);
[INFO] [stdout]     |                                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/string.rs:241:50
[INFO] [stdout]     |
[INFO] [stdout] 241 |                     buf.extend_from_slice(&bytes[i..i + e.valid_up_to()]);
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/ngstr/prims.rs:67:30
[INFO] [stdout]    |
[INFO] [stdout] 67 |         let rest = &mut cesu[ir..];
[INFO] [stdout]    |                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/ngstr/prims.rs:84:18
[INFO] [stdout]    |
[INFO] [stdout] 84 |             cesu[iw..iw+4].copy_from_slice(&utf8bytes);
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/ngstr/prims.rs:95:23
[INFO] [stdout]    |
[INFO] [stdout] 95 |                 &cesu[iw..cesu.len().min(iw+16)],
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/ngstr/prims.rs:100:58
[INFO] [stdout]     |
[INFO] [stdout] 100 |         let valid_utf8 = match std::str::from_utf8(&cesu[ir..]) {
[INFO] [stdout]     |                                                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/ngstr/prims.rs:104:26
[INFO] [stdout]     |
[INFO] [stdout] 104 |         cesu.copy_within(ir..ir+valid_utf8, iw);
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/ngstr/prims.rs:172:33
[INFO] [stdout]     |
[INFO] [stdout] 172 |     let (chunk_start, chunk) = (0..b.len()).step_by(CHUNK_SIZE)
[INFO] [stdout]     |                                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/ngstr/prims.rs:174:31
[INFO] [stdout]     |
[INFO] [stdout] 174 |             let chunk = b.get(i..i+CHUNK_SIZE)?; // only full chunks of N
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/ngstr/prims.rs:184:27
[INFO] [stdout]     |
[INFO] [stdout] 184 |             let rest = &b[i..];
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/ngstr/prims.rs:419:81
[INFO] [stdout]     |
[INFO] [stdout] 419 |         let (valid_utf8, utf8_err) = match std::str::from_utf8(subslice(source, base..)) {
[INFO] [stdout]     |                                                                                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/ngstr/prims.rs:422:34
[INFO] [stdout]     |
[INFO] [stdout] 422 |                 subslice(source, base..base+e.valid_up_to()),
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/ngstr/prims.rs:448:65
[INFO] [stdout]     |
[INFO] [stdout] 448 |                 match valid_cesu8_char::<true>(subslice(source, base..)) {
[INFO] [stdout]     |                                                                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/ngstr/prims.rs:527:27
[INFO] [stdout]     |
[INFO] [stdout] 527 |     if CHECK_INVALID && !(0x010000..=0x10FFFF).contains(&c) {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/ngstr/prims.rs:551:18
[INFO] [stdout]     |
[INFO] [stdout] 551 |                 (0xD800..=0xDFFF).contains(&surrogate),
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/ngstr/mod.rs:477:63
[INFO] [stdout]     |
[INFO] [stdout] 477 |                     let surrogate_pair_one = &self.as_bytes()[index..index+3];
[INFO] [stdout]     |                                                               ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ngstr/cesu8str.rs:13:5
[INFO] [stdout]     |
[INFO] [stdout] 13  |     impl_str_encoding_meths!(base, Cesu8Str, any, "CESU-8");
[INFO] [stdout]     |     ------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_str_encoding_meths` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/ngstr/mod.rs:996:35
[INFO] [stdout]     |
[INFO] [stdout] 996 |                 self.inner.splice(idx..idx, encoded.iter().copied());
[INFO] [stdout]     |                                   ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ngstr/cesu8string.rs:16:5
[INFO] [stdout]     |
[INFO] [stdout] 16  |     impl_string_encoding_meths!(base, "CESU-8");
[INFO] [stdout]     |     ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_string_encoding_meths` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/ngstr/mod.rs:1007:31
[INFO] [stdout]      |
[INFO] [stdout] 1007 |             self.inner.splice(idx..idx, string.as_bytes().iter().copied());
[INFO] [stdout]      |                               ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/ngstr/cesu8string.rs:16:5
[INFO] [stdout]      |
[INFO] [stdout] 16   |     impl_string_encoding_meths!(base, "CESU-8");
[INFO] [stdout]      |     ------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `impl_string_encoding_meths` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/ngstr/mod.rs:477:63
[INFO] [stdout]     |
[INFO] [stdout] 477 |                     let surrogate_pair_one = &self.as_bytes()[index..index+3];
[INFO] [stdout]     |                                                               ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ngstr/mutf8str.rs:12:5
[INFO] [stdout]     |
[INFO] [stdout] 12  |     impl_str_encoding_meths!(base, Mutf8Str, any, "MUTF-8");
[INFO] [stdout]     |     ------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_str_encoding_meths` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/ngstr/mod.rs:996:35
[INFO] [stdout]     |
[INFO] [stdout] 996 |                 self.inner.splice(idx..idx, encoded.iter().copied());
[INFO] [stdout]     |                                   ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ngstr/mutf8string.rs:17:5
[INFO] [stdout]     |
[INFO] [stdout] 17  |     impl_string_encoding_meths!(base, "MUTF-8");
[INFO] [stdout]     |     ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_string_encoding_meths` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/ngstr/mod.rs:1007:31
[INFO] [stdout]      |
[INFO] [stdout] 1007 |             self.inner.splice(idx..idx, string.as_bytes().iter().copied());
[INFO] [stdout]      |                               ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/ngstr/mutf8string.rs:17:5
[INFO] [stdout]      |
[INFO] [stdout] 17   |     impl_string_encoding_meths!(base, "MUTF-8");
[INFO] [stdout]      |     ------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `impl_string_encoding_meths` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/ngstr/mod.rs:477:63
[INFO] [stdout]     |
[INFO] [stdout] 477 |                     let surrogate_pair_one = &self.as_bytes()[index..index+3];
[INFO] [stdout]     |                                                               ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ngstr/mutf8cstr.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 104 |     super::impl_str_encoding_meths!(base, Mutf8CStr, all, "MUTF-8");
[INFO] [stdout]     |     --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `super::impl_str_encoding_meths` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/ngstr/mod.rs:996:35
[INFO] [stdout]     |
[INFO] [stdout] 996 |                 self.inner.splice(idx..idx, encoded.iter().copied());
[INFO] [stdout]     |                                   ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ngstr/mutf8cstring.rs:43:5
[INFO] [stdout]     |
[INFO] [stdout] 43  |     impl_string_encoding_meths!(base, "MUTF-8");
[INFO] [stdout]     |     ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_string_encoding_meths` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/ngstr/mod.rs:1007:31
[INFO] [stdout]      |
[INFO] [stdout] 1007 |             self.inner.splice(idx..idx, string.as_bytes().iter().copied());
[INFO] [stdout]      |                               ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/ngstr/mutf8cstring.rs:43:5
[INFO] [stdout]      |
[INFO] [stdout] 43   |     impl_string_encoding_meths!(base, "MUTF-8");
[INFO] [stdout]      |     ------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `impl_string_encoding_meths` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader`, `BufWriter`
[INFO] [stdout]  --> src/ngstr/stream.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::io::{self, BufReader, BufWriter};
[INFO] [stdout]   |                     ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/ngstr/stream.rs:42:52
[INFO] [stdout]    |
[INFO] [stdout] 42 |         match <&Self::BaseStr>::try_from(&contents[orig_len..]) {
[INFO] [stdout]    |                                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/ngstr/stream.rs:115:38
[INFO] [stdout]     |
[INFO] [stdout] 115 |         let unused_utf8_chars = utf8[safe_len..].chars().count();
[INFO] [stdout]     |                                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/ngstr/mod.rs:71:26
[INFO] [stdout]    |
[INFO] [stdout] 71 |         &self.source_str[self.encode_state.read..]
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `const_ptr_read` has been stable since 1.71.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(const_ptr_read)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0635]: unknown feature `const_deref`
[INFO] [stdout]  --> src/lib.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | #![feature(const_deref)]
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `simd_eq` found for struct `std::simd::Simd` in the current scope
[INFO] [stdout]    --> src/ngstr/prims.rs:156:37
[INFO] [stdout]     |
[INFO] [stdout] 156 |     let utf8_4byte = (chunk & mask).simd_eq(val).any();
[INFO] [stdout]     |                                     ^^^^^^^ method not found in `Simd<u8, LANES>`
[INFO] [stdout]    --> /rustc/b4fc5dbf0bc33be331f9d893db5b3a794f29724a/library/core/src/../../portable-simd/crates/core_simd/src/simd/cmp/eq.rs:14:8
[INFO] [stdout]     |
[INFO] [stdout]     = note: the method is available for `std::simd::Simd<u8, LANES>` here
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]     |
[INFO] [stdout] 3   + use std::simd::cmp::SimdPartialEq;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `simd_eq` found for struct `std::simd::Simd` in the current scope
[INFO] [stdout]    --> src/ngstr/prims.rs:157:40
[INFO] [stdout]     |
[INFO] [stdout] 157 |     let utf8_nul = ENCODE_NUL && chunk.simd_eq(zero).any();
[INFO] [stdout]     |                                        ^^^^^^^ method not found in `Simd<u8, LANES>`
[INFO] [stdout]    --> /rustc/b4fc5dbf0bc33be331f9d893db5b3a794f29724a/library/core/src/../../portable-simd/crates/core_simd/src/simd/cmp/eq.rs:14:8
[INFO] [stdout]     |
[INFO] [stdout]     = note: the method is available for `std::simd::Simd<u8, LANES>` here
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]     |
[INFO] [stdout] 3   + use std::simd::cmp::SimdPartialEq;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/ngstr/stream.rs:118:9
[INFO] [stdout]     |
[INFO] [stdout] 116 |         todo!("figure out how to subtract characters (not code points) from the end of a string");
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------- any code following this expression is unreachable
[INFO] [stdout] 117 |
[INFO] [stdout] 118 |         Ok(safe_len)
[INFO] [stdout]     |         ^^^^^^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot perform deref coercion on `ManuallyDrop<cesu8string::Cesu8String>` in constant functions
[INFO] [stdout]   --> src/ngstr/cesu8string.rs:33:34
[INFO] [stdout]    |
[INFO] [stdout] 33 |         unsafe { std::ptr::read(&this.inner) }
[INFO] [stdout]    |                                  ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: attempting to deref into `cesu8string::Cesu8String`
[INFO] [stdout] note: impl defined here, but it is not `const`
[INFO] [stdout]   --> /rustc/b4fc5dbf0bc33be331f9d893db5b3a794f29724a/library/core/src/mem/manually_drop.rs:149:1
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot perform deref coercion on `ManuallyDrop<mutf8string::Mutf8String>` in constant functions
[INFO] [stdout]   --> src/ngstr/mutf8string.rs:34:34
[INFO] [stdout]    |
[INFO] [stdout] 34 |         unsafe { std::ptr::read(&this.inner) }
[INFO] [stdout]    |                                  ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: attempting to deref into `mutf8string::Mutf8String`
[INFO] [stdout] note: impl defined here, but it is not `const`
[INFO] [stdout]   --> /rustc/b4fc5dbf0bc33be331f9d893db5b3a794f29724a/library/core/src/mem/manually_drop.rs:149:1
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot perform deref coercion on `ManuallyDrop<mutf8cstring::Mutf8CString>` in constant functions
[INFO] [stdout]   --> src/ngstr/mutf8cstring.rs:60:34
[INFO] [stdout]    |
[INFO] [stdout] 60 |         unsafe { std::ptr::read(&this.inner) }
[INFO] [stdout]    |                                  ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: attempting to deref into `mutf8cstring::Mutf8CString`
[INFO] [stdout] note: impl defined here, but it is not `const`
[INFO] [stdout]   --> /rustc/b4fc5dbf0bc33be331f9d893db5b3a794f29724a/library/core/src/mem/manually_drop.rs:149:1
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `unused_utf8_chars`
[INFO] [stdout]    --> src/ngstr/stream.rs:115:13
[INFO] [stdout]     |
[INFO] [stdout] 115 |         let unused_utf8_chars = utf8[safe_len..].chars().count();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_unused_utf8_chars`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors; 41 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0015, E0599, E0635.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0015`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `cesu8str` (lib) due to 7 previous errors; 41 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "8f48ce8cdcdaea0544fac8e605aa3df6303dff827fa0d43876c37fc99414024d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8f48ce8cdcdaea0544fac8e605aa3df6303dff827fa0d43876c37fc99414024d", kill_on_drop: false }`
[INFO] [stdout] 8f48ce8cdcdaea0544fac8e605aa3df6303dff827fa0d43876c37fc99414024d
